home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Compilers / digital marsC compier / dm / include / Limits.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-16  |  2.4 KB  |  105 lines

  1. /* Copyright (C) 1992-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
  2. #if __SC__ || __RCC__
  3. #pragma once
  4. #endif
  5.  
  6. #ifndef __LIMITS_H 
  7. #define __LIMITS_H 1
  8.  
  9. #define    CHAR_BIT    8
  10. #define    SCHAR_MAX    127
  11. #define    SCHAR_MIN    (-128)
  12. #define    UCHAR_MAX    255
  13. #if _CHAR_UNSIGNED
  14. #define    CHAR_MAX    UCHAR_MAX
  15. #define    CHAR_MIN    0
  16. #else
  17. #define    CHAR_MAX    SCHAR_MAX
  18. #define    CHAR_MIN    SCHAR_MIN
  19. #endif
  20.  
  21. #define    SHRT_MAX    32767
  22. #define    SHRT_MIN    (-32768)
  23. #define    USHRT_MAX    0xFFFF
  24.  
  25. #define LONG_MAX        2147483647
  26. #define LONG_MIN        (-2147483647L - 1)
  27. #define    ULONG_MAX    0xFFFFFFFF
  28.  
  29. #if __INTSIZE == 2
  30. #define    INT_MAX        SHRT_MAX
  31. #define    INT_MIN        SHRT_MIN
  32. #define    UINT_MAX    USHRT_MAX
  33. #else
  34. #define    INT_MAX        LONG_MAX
  35. #define    INT_MIN        LONG_MIN
  36. #define    UINT_MAX    ULONG_MAX
  37. #endif
  38.  
  39. #ifndef __STDC__
  40. #if __INTSIZE == 4
  41. #define LLONG_MIN       (-9223372036854775807LL-1LL)
  42. #define LLONG_MAX       9223372036854775807LL
  43. #define ULLONG_MAX      18446744073709551615ULL
  44. #endif
  45. #endif
  46.  
  47.  
  48. #define MB_LEN_MAX    2
  49.  
  50. #if M_UNIX || M_XENIX
  51. #if defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE) || !__STDC__
  52.  
  53. #define _POSIX_ARG_MAX     4096
  54. #define _POSIX_CHILD_MAX      6
  55. #define _POSIX_LINK_MAX       8
  56. #define _POSIX_MAX_CANON    255
  57. #define _POSIX_MAX_INPUT    255
  58. #define _POSIX_NAME_MAX      14
  59. #define _POSIX_NGROUPS_MAX    0
  60. #define _POSIX_OPEN_MAX      16
  61. #define _POSIX_PATH_MAX     255
  62. #define _POSIX_PIPE_BUF     512
  63. #define _POSIX_SSIZE_MAX  32767
  64. #define _POSIX_STREAM_MAX     8
  65. #define _POSIX_TZNAME_MAX     3
  66.  
  67. #define ARG_MAX            5120
  68.  
  69. #define NGROUPS_MAX           8 
  70.  
  71. #define MAX_CANON       256
  72. #define MAX_INPUT       256
  73. #define PIPE_BUF        5120
  74. #define PIPE_MAX        PIPE_BUF
  75. #define SSIZE_MAX       INT_MAX
  76. #endif /* _POSIX_SOURCE || _XOPEN_SOURCE || !__STDC__ */
  77.  
  78. #define FCHR_MAX    1048576
  79. #define PID_MAX       30000
  80. #define STD_BLK        1024
  81. #define SYS_NMLN          9
  82. #define UID_MAX       60000
  83. #define USI_MAX  4294967295
  84.  
  85. #if defined(_XOPEN_SOURCE) || !__STDC__
  86. #define LONG_BIT         32
  87. #ifndef TMP_MAX
  88. #define TMP_MAX       17576
  89. #endif
  90. #define NZERO         20
  91. #define PASS_MAX          8
  92. #define WORD_BIT         32
  93. #endif
  94.  
  95. #define NL_ARGMAX         9
  96. #define NL_LANGMAX       14
  97. #define NL_MSGMAX     32767
  98. #define NL_SETMAX       255
  99. #define NL_TEXTMAX      255
  100. #define NL_NMAX           0
  101.  
  102. #endif /* M_UNIX || M_XENIX */
  103.  
  104. #endif
  105.